package org.grow.took.controller;

import org.grow.took.entity.EnumDto;
import org.grow.took.entity.enums.ProfessionType;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
import java.util.stream.Stream;

/**
 * @Author: xwg
 * @CreateDate: 2021/9/9
 */

@RestController
@RequestMapping("/ceto/common")
public class CommonController {

//    同源策略禁止读取位于 http://localhost:9090/ceto/player/query 的远程资源。
//    （原因：CORS 头缺少 'Access-Control-Allow-Origin'）。
    @GetMapping("/professionTypes")
    public List<EnumDto> getProfessionTypes() {
        ProfessionType[] values = ProfessionType.values();
//        Stream<ProfessionType> stream = Arrays.stream(values);
//        Stream<EnumDto> enumDtoStream = stream.map(x -> {
//            EnumDto enumDto = new EnumDto();
//            enumDto.setIndex(x.ordinal());
//            enumDto.setValue(x.name());
//            enumDto.setText(x.getText());
//            return enumDto;
//        });
//        return enumDtoStream.collect(Collectors.toList());
        return Arrays.stream(values)
                .map(p -> {
                    EnumDto enumDto = new EnumDto();
                    enumDto.setIndex(p.ordinal());
                    enumDto.setValue(p.name());
                    enumDto.setText(p.getText());
                    return enumDto;
                }).collect(Collectors.toList());
    }

}
